home *** CD-ROM | disk | FTP | other *** search
/ Apple Reference & Presen…rary 6 (Reseller Edition) / Apple Ref. & Pres. Lib.v6.0.toast / pc / 3-Presentations / Apple Demos / CPUs / Macintosh Solutions Demo / Macintosh Solutions 1.0 / background_3688.txt < prev    next >
Text File  |  1990-08-24  |  9KB  |  374 lines

  1. -- background: 3688 from stack: in.0
  2. -- bmap block id: 3884
  3. -- flags: 4000
  4. -- background id: 0
  5. -- name: Solutions
  6. ----- HyperTalk script -----
  7. -- HANDLERS: displayPosition, buildWindow, buildSpecWindow, showPosition,
  8. --           showSoftware, showSpecs, kWContinue, showMyStuff,
  9. --           hideMyStuff
  10.  
  11. -- FUNCTIONS: machineNumber, positionText, softwareText
  12.  
  13. -----------------------------------------------
  14. -- Full Screen Windows using HyperPro‚Äôs kWindow XCMDs
  15. -----------------------------------------------
  16.  
  17. on displayPosition machine
  18.   global gThisMachine
  19.   put machine into gThisMachine -- for specification button
  20.   set cursor to watch
  21.   lock screen
  22.   put cd field "TimeOut" of cd 1 into howLong
  23.  
  24.   put machineNumber(machine) into CPUnum
  25.   if CPUnum is 0 then exit displayPosition       -- in case input bad
  26.  
  27.   buildSpecWindow  CPUnum
  28.   buildWindow  machine, CPUnum
  29.  
  30.   objects "Hide", "SoftwareText"
  31.   objects "active", "Description","notActive"
  32.  
  33.   Windows "show",1
  34.   get Display(howLong,1,"")
  35.  
  36. end displayPosition
  37.  
  38. on buildWindow CPU, CPUnum
  39.   -- Updated 8/13/90 to use runtime version of kWindow:
  40.  
  41.   -- PICTs to display in this window:
  42.   put CPUnum+800 into MachinePictID
  43.   put CPUnum+900 into titlePictID
  44.  
  45.   -- Get the text to display:
  46.   put positionText(CPU) into pText
  47.   put softwareText() into sText
  48.  
  49.   setWindow 1
  50.   Windows "recall", 1001      -- kWIN called "Position"
  51.  
  52.   setValue "object", "TitleBar", titlePictID
  53.   setValue "object", "CPU picture", MachinePictID
  54.   setValue "object", "PositionText", pText
  55.   setValue "object", "SoftwareText", sText
  56.  
  57. end buildWindow
  58.  
  59. on buildSpecWindow CPUnum
  60.  
  61.   -- Figure out which PICT to display:
  62.   put (CPUnum + 700) into SpecPictID
  63.  
  64.   setWindow 2
  65.   Windows "recall", 1002       -- kWIN called "Specs"
  66.  
  67.   setValue "object", "CPU Spec", SpecPictID
  68. end buildSpecWindow
  69.  
  70. -- NOTE:  showPosition, showSoftware, and showSpces must be defined
  71. --        no lower than at card level.
  72.  
  73. on showPosition
  74.   -- Message sent when "Description" button is clicked
  75.   -- in the window "Instore" (window #1)
  76.   KWContinue
  77.   objects "active", "Description","notActive"
  78.   objects "active", "Software","active"
  79.   Objects "hide", "SoftwareText", "erase"
  80.   Objects "show", "PositionText"
  81. end showPosition
  82.  
  83. on showSoftware
  84.   -- Message sent when "Software" button is clicked
  85.   -- in the window "Instore" (window #1)
  86.   KWContinue
  87.   objects "active", "Software","notActive"
  88.   objects "active", "Description","active"
  89.   Objects "hide", "PositionText", "erase"
  90.   Objects "show", "SoftwareText"
  91. end showSoftware
  92.  
  93. on showSpecs
  94.   -- Message sent when "Specifications" button is clicked
  95.   -- in the window "Instore" (window #1)
  96.   KWContinue
  97.   Windows "show", 2
  98. end showSpecs
  99.  
  100. on KWContinue
  101.   global KWCanDismiss
  102.   put false into KWCanDismiss
  103. end KWContinue
  104.  
  105. function machineNumber CPUName
  106. put word 2 of CPUName into CPUtype
  107. put "Classic,SE/30,LC,Portable,IIsi,IIci,IIfx" into CPUList
  108.  
  109. if ("," & CPUtype & ",") is in ("," & CPUList & ",") then
  110.  
  111.   repeat with K = 1 to the number of items in CPUList
  112.     set cursor to busy
  113.     if item K of CPUList = CPUtype then return K
  114.   end repeat
  115.  
  116. else return 0       -- do something in this case.
  117. end machineNumber
  118.  
  119. function positionText machine
  120. if line 2 of  fld (machine) is empty then -- no special text
  121.   get cd fld (machine) of card id 18576 -- Positions
  122. else
  123.   get field (machine)
  124. end if
  125. delete line 1 of it
  126. return it
  127. end positionText
  128.  
  129. function softwareText
  130. global gSoftwareList
  131. put return into softwareList
  132. put "* * *" into separator
  133. repeat with i = 1 to the number of items in gSoftwareList
  134.   if item i of gSoftWareList is empty then next repeat
  135.   set cursor to busy
  136.   get card field (item i of gSoftwareList) of card id 17083 -- "software"
  137.   -- delete line 1 of it
  138.   put it after softwareList
  139.   put return & separator & return & return after softwareList
  140. end repeat
  141. delete last char of softwareList
  142. return softwareList
  143. end softwareText
  144.  
  145. -----------------------------------------------
  146. --  ***** End of Instore window handlers  *****
  147. -----------------------------------------------
  148.  
  149. on showMyStuff machine --**
  150.   answer "See special case or general fields?" with "Cancel" or "Special" or "General"
  151.   if it is "Cancel" then exit to HyperCard
  152.   if it is "Special" then
  153.     repeat with i = 5 to 11
  154.       set cursor to busy
  155.       do "show field" && i
  156.     end repeat
  157.     exit to HyperCard
  158.   end if
  159.   if it is "General" then
  160.     go card id 18576 -- "Positions"
  161.     send mouseUp to btn machine
  162.     exit to HyperCard
  163.   end if
  164. end showMyStuff
  165.  
  166. on hideMyStuff --**
  167.   repeat with i = 5 to 11
  168.     set cursor to busy
  169.     do "hide field" && i
  170.   end repeat
  171. end hideMyStuff
  172.  
  173.  
  174.  
  175. -- part 1 (field)
  176. -- low flags: 81
  177. -- high flags: 0002
  178. -- rect: left=0 top=0 right=28 bottom=512
  179. -- title width / last selected line: 0
  180. -- icon id / first selected line: 0 / 0
  181. -- text alignment: 0
  182. -- font id: 156
  183. -- text size: 18
  184. -- style flags: 0
  185. -- line height: 22
  186. -- part name: Title
  187.  
  188.  
  189. -- part 3 (field)
  190. -- low flags: 80
  191. -- high flags: 0000
  192. -- rect: left=11 top=304 right=327 bottom=49
  193. -- title width / last selected line: 0
  194. -- icon id / first selected line: 0 / 0
  195. -- text alignment: 0
  196. -- font id: 3
  197. -- text size: 12
  198. -- style flags: 0
  199. -- line height: 16
  200. -- part name: index
  201.  
  202.  
  203. -- part 6 (field)
  204. -- low flags: 80
  205. -- high flags: 0007
  206. -- rect: left=0 top=0 right=185 bottom=144
  207. -- title width / last selected line: 0
  208. -- icon id / first selected line: 0 / 0
  209. -- text alignment: 0
  210. -- font id: 3
  211. -- text size: 10
  212. -- style flags: 0
  213. -- line height: 13
  214. -- part name: Macintosh IIsi
  215. ----- HyperTalk script -----
  216. on mouseUp
  217.   hideMyStuff
  218. end mouseUp
  219.  
  220.  
  221.  
  222. -- part 7 (field)
  223. -- low flags: 80
  224. -- high flags: 0007
  225. -- rect: left=0 top=184 right=342 bottom=144
  226. -- title width / last selected line: 0
  227. -- icon id / first selected line: 0 / 0
  228. -- text alignment: 0
  229. -- font id: 3
  230. -- text size: 10
  231. -- style flags: 0
  232. -- line height: 13
  233. -- part name: Macintosh LC
  234. ----- HyperTalk script -----
  235. on mouseUp
  236.   hideMyStuff
  237. end mouseUp
  238.  
  239.  
  240.  
  241. -- part 8 (field)
  242. -- low flags: 80
  243. -- high flags: 0007
  244. -- rect: left=143 top=183 right=342 bottom=266
  245. -- title width / last selected line: 0
  246. -- icon id / first selected line: 0 / 0
  247. -- text alignment: 0
  248. -- font id: 21
  249. -- text size: 10
  250. -- style flags: 0
  251. -- line height: 13
  252. -- part name: Macintosh Classic
  253. ----- HyperTalk script -----
  254. on mouseUp
  255.   hideMyStuff
  256. end mouseUp
  257.  
  258.  
  259.  
  260. -- part 13 (field)
  261. -- low flags: 80
  262. -- high flags: 0007
  263. -- rect: left=265 top=184 right=342 bottom=384
  264. -- title width / last selected line: 0
  265. -- icon id / first selected line: 0 / 0
  266. -- text alignment: 0
  267. -- font id: 21
  268. -- text size: 10
  269. -- style flags: 0
  270. -- line height: 13
  271. -- part name: Macintosh Portable
  272. ----- HyperTalk script -----
  273. on mouseUp
  274.   hideMyStuff
  275. end mouseUp
  276.  
  277.  
  278.  
  279. -- part 14 (field)
  280. -- low flags: 80
  281. -- high flags: 0007
  282. -- rect: left=144 top=0 right=185 bottom=265
  283. -- title width / last selected line: 0
  284. -- icon id / first selected line: 0 / 0
  285. -- text alignment: 0
  286. -- font id: 21
  287. -- text size: 10
  288. -- style flags: 0
  289. -- line height: 13
  290. -- part name: Macintosh SE/30
  291. ----- HyperTalk script -----
  292. on mouseUp
  293.   hideMyStuff
  294. end mouseUp
  295.  
  296.  
  297.  
  298. -- part 15 (field)
  299. -- low flags: 80
  300. -- high flags: 0007
  301. -- rect: left=265 top=0 right=185 bottom=384
  302. -- title width / last selected line: 0
  303. -- icon id / first selected line: 0 / 0
  304. -- text alignment: 0
  305. -- font id: 21
  306. -- text size: 10
  307. -- style flags: 0
  308. -- line height: 13
  309. -- part name: Macintosh IIci
  310. ----- HyperTalk script -----
  311. on mouseUp
  312.   hideMyStuff
  313. end mouseUp
  314.  
  315.  
  316.  
  317. -- part 16 (field)
  318. -- low flags: 80
  319. -- high flags: 0007
  320. -- rect: left=383 top=0 right=185 bottom=512
  321. -- title width / last selected line: 0
  322. -- icon id / first selected line: 0 / 0
  323. -- text alignment: 0
  324. -- font id: 21
  325. -- text size: 10
  326. -- style flags: 0
  327. -- line height: 13
  328. -- part name: Macintosh IIfx
  329. ----- HyperTalk script -----
  330. on mouseUp
  331.   hideMyStuff
  332. end mouseUp
  333.  
  334.  
  335.  
  336. -- part 20 (button)
  337. -- low flags: 00
  338. -- high flags: C002
  339. -- rect: left=0 top=325 right=342 bottom=171
  340. -- title width / last selected line: 0
  341. -- icon id / first selected line: 0 / 0
  342. -- text alignment: 1
  343. -- font id: 0
  344. -- text size: 12
  345. -- style flags: 0
  346. -- line height: 16
  347. -- part name: Return to Main Menu
  348. ----- HyperTalk script -----
  349. on mouseUp
  350.   go card "Main menu"
  351. end mouseUp
  352.  
  353.  
  354.  
  355. -- part 21 (button)
  356. -- low flags: 00
  357. -- high flags: C002
  358. -- rect: left=172 top=325 right=342 bottom=384
  359. -- title width / last selected line: 0
  360. -- icon id / first selected line: 0 / 0
  361. -- text alignment: 1
  362. -- font id: 0
  363. -- text size: 12
  364. -- style flags: 0
  365. -- line height: 16
  366. -- part name: Return to Previous Screen
  367. ----- HyperTalk script -----
  368. on mouseUp
  369.   global InstoreReturnPath
  370.   lock screen
  371.   go cd InstoreReturnPath
  372. end mouseUp
  373.  
  374.